Network Adapters PA1 Potential Limit on Packet Throughput PA1 Sufficiency of Host Memory Buffers for Receiving Packets PA1 Need for New Network Adapter Designs
In computer networks a host computer system is normally connected to the network by a network adapter. In some designs, the network adapter is a board that plugs into the backplane bus of the host computer system. In other designs, the network adapter is built into the CPU motherboard.
Computer networks transfer data from one network node to another in the form of packets. For the purposes here, packets may include information for all layers of the ISO/OSI model at and above the data link layer. The network adapter transmits packets from the host computer system onto the network, and delivers packets from the network to the host computer system.
A problem arises when the network adapter cannot deliver packets to the host computer system as quickly as the network can transfer them to the network adapter. In that case, when packets are sent to the network adapter at a sufficient rate for a sustained period, packet memory in the network adapter becomes full. Subsequent packets sent to the network adapter cannot be stored, and will be lost. Lost packets result in costly retransmissions, increased network latency, and virtual circuits being broken.
A related problem occurs when the network adapter cannot read packets from the host memory in the host computer system as quickly as the network can transfer them. In this case, the network adapter limits the rate at which the host computer system can transmit packets onto the network.
The network adapter provides many services to the host computer system. These services include packet transmission and packet reception, as well as network adapter initialization, network adapter diagnostics, and network management functions. The services that may limit packet throughput rates are packet transmission and packet reception. To avoid a limit on packet throughput between the host computer system and the network, those two services must move packets between the network adapter and the host computer system, at the same rate packets are transferred on the network itself.
Another problem occurs when there are insufficient buffers in host memory allocated to store packets received from the network. When packets are received from the network by the network adapter, and are to be delivered to the host computer system, the packets are first received into the internal packet memory of the network adapter. The network adapter then moves the packets into receive buffers in the host memory allocated by the host computer system. If all receive buffers in host memory are full, the packets cannot be delivered to the host computer system. If this event occurs frequently, the host computer system's allocation of receive buffers in host memory is insufficient.
The higher bandwidth of the latest generation of networks makes solving these problems more difficult than in network adapters for previous generation networks. A typical fiber optic network, the ANSI defined Fiber Distributed Data Interconnect (FDDI), has a maximum bandwidth of approximately 100 megabits per second, and a packet carrying capacity of approximately 450,000 packets per second. This is approximately 10 times the bandwidth, and 30 times the packet carrying capacity of Ethernet, a typical previous generation network. Known designs for Ethernet network adapters were designed to meet the lower throughput requirements of that network, and are inadequate to meet the throughput requirements of networks such as FDDI.
It is therefore desirable to have a network adapter design with a data transfer circuit, providing packet throughput between the network adapter and the host computer system, equal to the packet throughput of a high speed network such as FDDI. It is further desirable to have a network adapter design include a means for informing the host computer system when all receive buffers in host memory are filled.